New interface for choosing Custom themes.
authorChong Yidong <cyd@stupidchicken.com>
Tue, 12 Oct 2010 03:10:21 +0000 (23:10 -0400)
committerChong Yidong <cyd@stupidchicken.com>
Tue, 12 Oct 2010 03:10:21 +0000 (23:10 -0400)
commit9413cb5056d97d063d3556ec1a13f5929a1b4c68
treef796c1e2cddc892e683855203f5a91e758b026e1
parent2c427a322e8286c128799061baf5c026ecc26708
New interface for choosing Custom themes.

* lisp/cus-edit.el (custom--initialize-widget-variables): New function.
(Custom-mode): Use it.

* lisp/cus-face.el (custom-theme-set-faces): Remove dead code.  Obey
custom--inhibit-theme-enable.

* lisp/cus-theme.el (describe-theme, customize-themes)
(custom-theme-save): New commands.
(custom-new-theme-mode-map): Bind C-x C-s.
(custom-new-theme-mode): Use custom--initialize-widget-variables.
(customize-create-theme): New optional arg THEME.
(custom-theme-revert): Use it.
(custom-theme-visit-theme): Remove dead code.
(custom-theme-merge-theme): Use custom-available-themes.
(custom-theme-write): Make interactive.
(custom-theme-write): Use custom-theme-name-valid-p.
(describe-theme-1, custom-theme-choose-revert)
(custom-theme-checkbox-toggle, custom-theme-selections-toggle):
New funs.
(custom-theme-allow-multiple-selections): New option.
(custom-theme-choose-mode): New major mode.

* lisp/custom.el (custom-theme-set-variables): Remove dead code.  Obey
custom--inhibit-theme-enable.
(custom--inhibit-theme-enable): New var.
(provide-theme): Obey it.
(load-theme): Replace load with manual read/eval, in order to
check for correctness.  Use custom-theme-name-valid-p.
(custom-theme-name-valid-p): New function.
(custom-available-themes): Use it.

* lisp/help-mode.el (help-theme-def, help-theme-edit): New buttons.
lisp/ChangeLog
lisp/cus-edit.el
lisp/cus-face.el
lisp/cus-theme.el
lisp/custom.el
lisp/help-mode.el